#include <cstdio>
#include <algorithm>
#include <map>
using namespace std;
const int MAXN=200050;
int a[MAXN];
int c[MAXN];
map<int,int> res;
int main(void){
    int n,m;
    int f;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
        if(a[i]==m){
            f=i;
        }
    }
    c[f]=0;
    res[0]++;
    for(int i=f-1;i>=1;i--){
        if(a[i]==m){
            c[i]=c[i+1];
        }
        else if(a[i]<m){
            c[i]=c[i+1]-1;
        }
        else{
            c[i]=c[i+1]+1;
        }
        res[c[i]]++;
    }
    // for(int i=0;i<=n;i++){
    //     printf("%d ",c[i]);
    // }
    // printf("\n");
    // for(int i=0;i<=n;i++){
    //     printf("%d ",gre[i]);
    // }
    // printf("\n");
    long long ans=0;
    int tmp=0;
    for(int i=f;i<=n;i++){
        if(a[i]==a[f]){
            tmp+=0;
        }
        else if(a[i]>a[f]){
            tmp++;
        }
        else if(a[i]<a[f]){
            tmp--;
        }
        //printf("%d\n",tmp);
        ans+=res[-1*tmp];
        ans+=res[1-tmp];
    }
    printf("%lld\n",ans);
    return 0;
}
